给WordPress评论回复添加@原评论者昵称,可以很明了的看到回复者想要交流的对象是谁,大大提高了用户体验,一段代码轻松搞定。

代码有两种,第一种启用后会将@评论者 写入数据库,也就是说数据库中每一条评论内容前面会有@评论者 字段,你在后台就能看到;第二种是不写入数据库的,即只在网站前台评论列表显示@评论者 ,而后台的评论内容是没有的。

代码一

  1. // 评论添加@     
  2. function wp_comment_add_at( $commentdata ) {     
  3. if( $commentdata['comment_parent'] > 0) {     
  4. $commentdata['comment_content'] = '@<a href="#comment-' . $commentdata['comment_parent'] . '">'.get_comment_author( $commentdata['comment_parent'] ) . '</a> ': . $commentdata['comment_content'];     
  5. }     
  6. return $commentdata;     
  7. }     
  8. add_action( 'preprocess_comment' , 'wp_comment_add_at', 20);    

代码二

  1. // 评论添加@     
  2. function wp_comment_add_at( $comment_text, $comment = '') {     
  3. if( $comment->comment_parent > 0) {     
  4. $comment_text = '@<a href="#comment-' . $comment->comment_parent . '">'.get_comment_author( $comment->comment_parent ) . '</a>: ' . $comment_text;     
  5. }     
  6. return $comment_text;     
  7. }     
  8. add_filter( 'comment_text' , 'wp_comment_add_at', 20, 2);    

使用方法:将代码一或者代码二直接放入function.php就可以了。

两段代码各有优势,代码一写入数据库,就算你更换了主题模板,曾经加过@评论者的评论也依然会显示;代码二更换主题模板后,就没有@评论者效果了;但是代码二不写入数据库,在一定程度上能够减轻数据库的压力,故笔者推荐代码二,大家根据自己情况进行选择。

效果如下: